1. Field of the Invention
The present invention relates to a communication control device for performing parallel processing using a plurality of processors. The present invention is applied to a router, load balancer, and so on for a communication network.
2. Description of Related Art
Routers and load balancers execute relay processing of communication data (packets and the like) inputted from an external communication path.
A router is a device for performing relay processing at the network layer of the Open Systems Interconnection (OSI) Reference Model. A plurality of communication paths is connected to the router. The router receives IP (Internet Protocol) packets from each communication path. The router then determines the communication path to which the IP packet is to be outputted in accordance with a destination IP address noted in a header part of the IP packet. A routing table stored in the router in advance is referenced to determine the communication path.
A load balancer is a device for performing relay processing at the transport layer or above of the OSI Reference Model. The load balancer connects a communication network to a plurality of Web servers. More specifically, this type of load balancer distributes HTTP requests received from a client among the plurality of Web servers. A URL conversion table or the like which is stored in the load balancer in advance is referenced to perform this distribution. By using a load balancer, an HTTP request pertaining to a single URL can be divided among the plurality of Web servers. In so doing, increases in the load on each individual Web server are suppressed, and thus the response performance of the Web servers is improved.
Many routers and load balancers comprise a plurality of processors. By means of parallel processing using a plurality of processors, IP packets can be controlled at high speed and with a high degree of reliability.
In a control device for causing a plurality of processors to operate in parallel, it is desirable that inter-processor communication be performed at sufficiently high speed. This is due to the fact that when communication speed is low, processing time increases.